how bitwise left shift operator works in c